package com.dcloud.mq.annotation;


import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;

import java.lang.annotation.*;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RocketMqMsgListener {

    /**
     * 订阅主题
     * @return
     */
    String topic();

    /**
     * 消费者组
     * @return
     */
    String consumerGroup();

    /**
     * tag，订阅子查询条件，默认获取所有
     * @return
     */
    String selectorExpression() default "*";


    /**
     * 控制消息模式，如果希望所有订阅者都接收消息全部消息，广播是一个不错的选择。如果希望一个消费者接收则使用负载均衡模式
     * @return
     */
    MessageModel messageModel() default MessageModel.CLUSTERING;

    /**
     * 实例名称
     * @return
     */
    String instanceName() default "";
}
